Run synthetic experiment on synthetic.ipynb.

Run real data set experiment in folder "Fmnist and CIfar-10": local_update.py or prox.py. 
local_update.py for comparing FedSRC-D, FedSRC-G, and FedAvg. 
local_update.py can test our algorithm compatibility with momentum.
prox.py for testing performance of our algorithm with proximal. 
For running experiments on split Femnist dataset, use local_update_class
All args, sampling strategies, and momentum and proximal techniques are optional in local_update.py and prox.py.
Example:
python local_update.py --client_num 300  --round_num 500   --seed_num 1234 --beta 1.0 --localbs bs --csd_importance 0.0  --datasetname mnist  --lr 0.1 --client_drift 0.1  --sample_num 20  --localepoch 5  --bs 32 --optimizer IS


Run Leaf dataset including FEMNIST and CelebA: run local_update_FEMNIST_prox2.py for sampling algorithms w/o prox; run local_update_FEMNIST.py for sampling algorithm w/o momentum.
Example:
python local_update_FEMNIST.py --client_num 200  --round_num 500   --seed_num 1234 --beta 1.0 --localbs bs --csd_importance 0.0  --datasetname leaffemnist --lr 0.01 --client_drift 0.1  --sample_num 40  --localepoch 5  --bs 32 --br 0.0 --optimizer IS